查看原文
其他

开发者必看的国内大模型 API 能力比较(附大量图表)

是莫尔索 莫尔索随笔 2024-04-14

由于要为公司产品接入 AI 能力,且政策原因只能使用国内大模型,所以过去一个月我仔细阅读了一遍国内 6 家(阿里、百度、MiniMax、智谱 AI、MoonShot、百川智能,没试用字节和腾讯家的原因末尾总结有吐槽)大模型厂商文档,逐个测试了不同的 API,发现相同的功能各家的叫法又不一样,使用起来很混乱,所以才有了这篇文章,本文我将以 OpenAI 提供的 API 能力(因为个人项目一直在使用 OpenAI)为基准,从 GPTs 能力、插件能力、Assistants API、基础 API 能力(基础大模型、微调支持等)四个方面展开,对国内各模型厂商的能力进行比较和统一定义,希望能给现阶段准备在产品中接入国内大模型的开发者和中小企业提供一点参考。整理这篇文章里的数据耗时不少,希望给大家决策节省一些时间,如果能帮助你,可以酌情打赏,就不开付费了🍻。

较标准

这里我以 OpenAI 各项能力为基准,来梳理各家的对标 API 能力,总体可以分为四大块:

  1. GPTs 能力:门槛较低,无代码形式,掌握一点提示词技巧的普通用户即可创建
  2. 插件能力:OpenAI 预计会在 2024 年 4 月 9 日下架该能力,但阿里和百度仍然支持
  3. Assistants API:包含代码解释器、函数调用、知识库检索、网络搜索(OpenAI 没有,但是 MiniMax 有)四项能力
  4. 基础 API 能力:向量模型接口、通用大模型接口、微调等能力支持

1. GPTs 能力

我认为 GPTs 能力是指能够在大模型 C 端产品提供基本的文本对话、图片理解、文档解析和联网搜索之外的扩展能力。

GPTs能力

1.1 智谱 AI

最接近 GPTs 能力定位是智谱清言的智能体,普通用户无代码方式创建,可以上传知识库,调用模型绘画、联网和代码能力,同时也支持具备开发能力的用户接入自定义 API,完成度较高,有专门的智能体用于创建过程答疑,也可以根据需求描述一键生成智能体。

智谱清言智能体创建

1.2 百度

文心一言的插件其实更接近 ChatGPT 前期的插件功能,因为也是一种在基础 Chat 上的能力扩展,所以将其放在类 GPTs 能力部分。上线自定义插件的门槛较高,需要先实名申请开发者权限[1],部署插件中的功能服务,然后定义 ai-plugin.json(元信息描述文件)和 openapi.yaml(API 描述文件),可选的 example.yaml(调用示例,提升插件调用正确率)、msg_content.yaml(插件动作消息注册文件)、uj.json(插件的 UI 组件信息)5 种文件,再按照材料审核模板,并与官方人员进行企微沟通后[2],然后才能提交上线。

文心一言的插件

1.3 其他

其他四家暂时未在客户端产品上集成类 GPTs 能力

2. 插件能力

需要注意的是,OpenAI 官方已经计划于 2024 年 4 月 9 日彻底停止 ChatGPT 插件测试版[3]。(2024 年 3 月 19 日将禁止使用插件创建新对话。在 2024 年 4 月 9 日之前,用户还能够继续使用现有的插件对话),所以后面 ChatGPT 不再具备插件功能,因为官方认为 GPTs 已经覆盖插件的能力了。

OpenAI 有自己的野心,力求减少对外部第三方服务的依赖。早期的插件测试版(plugin beta)充当了第三方平台与 ChatGPT 之间的桥梁,但某些插件甚至需要用户跳转到外部平台以完成体验。相比之下,GPTs 完全在 GPT 的生态系统内构建智能体,使得 OpenAI 能够更有效地控制和塑造其自有的技术生态。

不知道阿里和百度后续是否会跟随调整相应功能,但当前官方文档还没看到相应说明。

OpenAI 官方停止 ChatGPT 插件测试版

2.1 阿里

内置插件

灵积模型服务当前内置支持 5 种插件,插件 API 使用需申请[4]并通过后才可使用。

灵积服务内置插件

自定义插件

对开发者来说,自定义插件才是刚需首先需要将包含自定义插件功能的 HTTP 服务部署好,同时将 HTTP 服务的功能汇总成 ai-plugin.json(元信息描述文件)和 openapi.yaml(API 描述文件),然后必须通过邮件 dashscope@alibabacloud.com 方式提交自定义插件,申请通过才能正常使用,描述文件的要求和规范可参考插件接入指引[5]

ai-plugin.json 描述了插件的基本信息,下面是一个管理待办事项的插件示例:

{
    "schema_version""v1",
    "name_for_human""待办事项插件",
    "name_for_model""todo",
    "description_for_human""用于管理待办事项列表的插件。您可以添加、删除和查看您的待办事项。",
    "description_for_model""用于管理待办事项列表的插件。您可以添加、删除和查看您的待办事项。",
    "auth": {
        "type""none"
    },
    "api": {
        "type""openapi",
    },
    "logo_url""http://localhost:3333/logo.png",
    "contact_email""support@example.com"
}

2.2 百度

内置插件

千帆大模型平台同样提供 5 种内置插件,无需申请,可以直接在进行插件编排[6]时引入,然后发布插件应用[7],即可通过 API 调用。

千帆内置插件

自定义插件

需要将包含自定义插件功能的域名服务部署好,同时配置好 ai-plugin.json(元信息描述文件)和 openapi.yaml(API 描述文件),描述文件的规范可参考插件开发者文档[8],然后在进行插件编排时选择自定义插件,根据下面流程[9]进行验证,安装插件即可,最后通过插件应用发布 API 进行调用。

千帆自定义插件

下面是百度规范中 ai-plugin.json 定义示例:

{
    "schema_version""v1",
    "name_for_human""长文本理解工具",
    "name_for_model""LongtextSummary",
    "description""基于PDF/Doc格式文档(不支持扫描件),可检索知识点、对文档进行摘要等,支持10MB以内文件",
    "auth": {
        "type""none"
    },
    "api": {
        "type""openapi",
        "url""https://example.com/openapi.yaml"
    },
    "logo_url""https://example.com/example-icon.png",
    "contact_email""example@baidu.com",
    "legal_info_url""https://example.com/legal"
}

2.3 其他

其他四家暂时的 API 能力暂未支持插件调用。

2.4 总结

这里需要统一说下插件规范,基本都是 ai-plugin.json、openapi.yaml 两个文件,最初的定义来自 OpenAI,大家可以前往这里[10]自行查阅完整的字段说明,国内各厂商对字段有修改或者定义不同,但实质意义是一致的。还有插件标准不统一,增加额外工作量就十分恼火,比如我之前可以将为 OpenAI 开发的插件直接导入 Semantic Kernel (大模型时代软件开发:吴恩达提到的Semantic Kernel是什么?)和 LangChain (从零开始学LangChain)使用,但是想直接导入国内平台使用就需要调整文件中的定义字段。

Semantic Kernel和OpenAI插件转换

3. Assistants API

通过 Assistants API 可以构建一个 Assistant,该 Assistant 可以遵从指令,使用大模型和工具调用来响应用户的查询, 这里需要明确一点 Assistants API 和 GPTs 能力的区别,来自 OpenAI 文档[11]

特性GPTs (ChatGPT)Assistants (API)
创建过程无需编码,操作简单需要编码以便集成
运行环境位于 ChatGPT 内部,操作环境受限可以集成到任何产品或服务中,环境灵活
定价ChatGPT Plus/企业计划中包含根据使用不同 Assistant 特性计费
用户界面与 ChatGPT 内置的用户界面为程序化使用设计;可以使用游乐场进行可视化
共享性内置与他人共享 GPT 的能力无内置共享功能
托管GPTs 由 OpenAI 托管OpenAI 不提供托管服务
工具内置工具,如:浏览、DALLE、代码解释器、检索、函数调用内置工具,如:代码解释器、检索和自定义操作

再说下函数调用功能(当调用函数时, API 将在运行过程中暂停执行,提供的函数调用结果返回时再继续运行), 既可以通过 Chat Completions API 直接调用,也可以通过 Assistants API 方式调用,作用效果相似。OpenAI 的 assitant API 当前只包含三种工具,不包含搜索引擎工具,但是 MiniMax 包含,所以我把完整能力分为四种工具支持。

Assistants API能力支持

3.1 阿里

阿里没有 Assistants API 的概念,但是插件起到相似作用,代码解释器能力可以由内置 Python 代码解释器插件代替,函数调用、知识库检索、搜索引擎功能均需要开发者通过插件的方式[12]自行实现,初次之外插件也具备执行预订酒店任务,获取实时股票、价格等实时信息能力。

3.2 百度

百度同样没有 Assistants API 的概念,对应的也是由插件来支持这部分能力,内置的知识库插件和百度搜索、网页解析插件解决了知识库库检索和搜索引擎能力接入,代码解释器可以通过定义插件[13]来实现,同时 Chat 接口支持函数调用功能。

3.3 MiniMax

没条件看 OpenAI 文档的朋友,这里强烈推荐阅读 MiniMax 的 Assistans API 文档[14] ,应该是国内这些大模型厂商中写的最清晰的,而且还比 OpenAI 多支持了 Web Search(网络搜索)工具,很不错。

Assistans API 各工具模型支持情况

3.4 智谱 AI

智谱的文档也没有 Assistants API 的概念,但是支持以 Chat Completions API 接口的形式进行函数调用[15]知识库检索[16]网络搜索[17],暂不支持代码解释器功能,但是可以借助函数调用功能自定义实现。

3.5 MoonShot

MoonShot 当前的API 能力[18]还十分简陋,只有一个文件内容识别的接口接近知识库索引,其他能力均不支持,而且也无法通过间接方式实现,这也与他家聚焦长文本,long context 有关。

3.6 百川智能

百川智能的 API 能力[19] 当前只支持网络搜索和知识库检索,代码解释器和函数调用能力还不具备,也无法通过间接方式集成。

4. 基础 API 能力

4.1 微调能力支持

模型微调是指通过微调工具,加入企业独有的场景数据,对平台的基础模型进行微调,可以帮助用户快速定制出更符合业务场景需求的专属大模型,它的优势在于对基础模型只需进行少量调整,就可以满足特定的需求,相比训练新模型高效且低成本。

什么场景下适用微调

可以先尝试调整提示词或者使用一些工具如函数调用 、检索功能来获得更好的效果,若目前的基础模型及相关工具无法提供满意答案或处理复杂推理任务时,可以使用微调获得更好的效果。

微调可改善效果的典型场景:

  • 需要采用特定的风格、语调
  • 需要处理复杂的任务
  • 需要提高输出的可靠性
  • 难以通过 Prompt 说明的新任务

微调方面,大厂支持的工具链丰富的多,创业公司就只有最基础的微调接口,百川和 MoonShot 当前还不支持,这部分功能我没有深入体验,只试用了微调接口

  1. 智谱 AI 的模型微调[20],需要联系官方进行定制
  2. MiniMax 的微调操作指南[21]
  3. 百度的模型精调[22],包括 Post-pretrain、SFT、RLHF 等环节
  4. 阿里的模型定制[23],支持 LLaMa2、ChatGLM、百川开源模型等微调
  5. 百川智能暂不支持微调
  6. MoonShot 暂不支持微调

4.2 向量模型

测试

我的场景主要用于识别用户意图,比如用户问到小程序,我想将用户意图指向什么是独立小程序、什么是联营小程序、独立小程序怎么申请等问题,我将用户问题与预设问题的匹配相似度阈值设为 0.9(0.5 ~ 1.0,从容易匹配到精准匹配),基本可以命中 80%以上的用户意图,测试下来几家向量模型在通用场景下的效果差不多。

向量模型的价格

向量模型百度的更贵一点,阿里更便宜,其他三家价格一样。

  1. 智谱 AI 的向量模型 Embedding-2[24] 0.0005 元/千 tokens
  2. 百川智能的向量模型 Baichuan-Text-Embedding[25] 0.0005 元/千 tokens
  3. MiniMax 的向量模型 embo-01[26] 0.0005 元/千 tokens
  4. 百度千帆的向量模型 Embedding-V1[27] 0.002 元/千 tokens
  5. 阿里灵积的通用文本向量模型[28] 0.0007 元/1000 tokens
  6. MoonShot 暂不支持向量模型接口

4.3 通用大模型 API 计价对比

下面是一个价格简单比较,但是价格和模型能力强相关,后面会有个各模型能力侧重点说明,可以综合成本和效果进行选型。

通用大模型API计价
  1. 智谱的通用大模型价格
  1. 百川智能的通用大模型价格,模型能力介绍:产品介绍[29]

  2. 文心的大语言模型价格

  3. 通义千问大语言模型价格

  1. MiniMax 大语言模型定价

  2. MoonShot 通用大模型定价

moonshot-v1-8k: 它是一个长度为 8k 的模型,适用于生成短文本。moonshot-v1-32k: 它是一个长度为 32k 的模型,适用于生成长文本。moonshot-v1-128k: 它是一个长度为 128k 的模型,适用于生成超长文本。以上模型的区别在于它们的最大上下文长度,这个长度包括了输入消息和生成的输出,在效果上并没有什么区别。

4.6 开发者支持

针对小企业、创业公司和独立开发,各家都有看到对应开发者扶持计划,大家可以后台回复「大模型API」获取完整表格,里面有文章中提到的所有内容链接,这里不详细展开了。

总结

终于来到总结部分了,我最后选用的智谱 AI 和 阿里(用作备份服务),MoonShot 的 long context 能力比较强,但是目前 API 能力跟不上,无法在应用上接入使用,只能在客户端 Kimi 上用用;智谱 AI 的模型,在同等数量级参数的模型中理解能力属于前列,安全对齐方面做的也比较出色;MiniMax 和百川智能的 API 吞吐一上来,接口出错率比较高,模型能力相比智谱还是差点;API 稳定性和并发支持方面大厂还是比较稳,基本没有接口延迟和出错情况出现,两家模型能力都中规中矩,但是通义千问在我的测试场景下比文心效果好,所以选择备份服务选了阿里的。

文档体感

大厂只是把大模型服务作为整体云战略的一部分,产品线很全,哪个环节都想做,但是哪部分做的都不太好,反正用起来不舒服,文档入口的层级太深,文档组织有些混乱,这也是我没有去继续测试腾讯和字节的原因。大模型创业公司反到没有包袱,MiniMax 做的最好,文档很清晰,一目了然;智谱 AI 的文档也可以,能力也比较完整,百川和 MoonShot 当前能够提供的 API 能力总体较弱,文档也没多少内容。

大厂大模型服务

  1. 百度

百度智能云—>产品—>人工智能开发平台—>千帆大模型平台[30]

  1. 阿里

阿里云—>产品—>人工智能与机器学习—>模型平台与服务—>模型服务灵积 DashScope[31]

  1. 字节

火山引擎—>产品—>人工智能与机器学习—>机器学习—>火山方舟[32]

  1. 腾讯

自己看吧,我就不浪费时间了 🫠 吐槽下腾讯混元大模型的 API,不敢相信这是腾讯的水平[33]

我整理的表格汇总链接可以在后台获取回复「大模型API」获取

我创建了【AI 产品】和【AI 开发】交流群,用于 AI 产品构建和分享交流,如果你负责的工作和这个领域强相关并且感兴趣,欢迎后台回复 【入群】加入交流 ,备注信息务必做简单自我介绍,否则不予通过!如果觉得内容不错,欢迎点个关注,分享和在看

参考资料

[1]

实名申请开发者权限: https://yiyan.baidu.com/developer

[2]

按照材料审核模板,并与官方人员进行企微沟通后: https://yiyan.baidu.com/developer/doc#Klmytk20y

[3]

OpenAI 官方已经计划于 2024 年 4 月 9 日彻底停止 ChatGPT 插件测试版: https://help.openai.com/en/articles/8988022-winding-down-the-chatgpt-plugins-beta

[4]

申请: https://dashscope.console.aliyun.com/plugin?spm=a2c4g.11186623.0.0.47896570Cg5Klb

[5]

插件接入指引: https://help.aliyun.com/zh/dashscope/developer-reference/model-plugin-developer-guidelines

[6]

插件编排: https://console.bce.baidu.com/qianfan/plugin/service/list

[7]

插件应用: https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application/create

[8]

插件开发者文档: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/2lmuqfng8

[9]

流程: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wlmufm7ou

[10]

前往这里: https://platform.openai.com/docs/plugins/getting-started

[11]

OpenAI 文档: https://help.openai.com/en/articles/8673914-gpts-vs-assistants

[12]

通过插件的方式: https://help.aliyun.com/zh/dashscope/developer-reference/model-plugin-quick-start

[13]

定义插件: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/2lmuqfng8

[14]

Assistans API 文档: https://www.minimaxi.com/document/guides/Assistants/operate?id=6586b8674da4834fd75906e7

[15]

函数调用: https://open.bigmodel.cn/dev/howuse/functioncall

[16]

知识库检索: https://open.bigmodel.cn/dev/howuse/retrieval

[17]

网络搜索: https://open.bigmodel.cn/dev/api#glm-3-turbo

[18]

API 能力: https://platform.moonshot.cn/docs/api-reference

[19]

API能力: https://platform.baichuan-ai.com/docs/api

[20]

模型微调: https://open.bigmodel.cn/dev/howuse/finetuning

[21]

微调操作指南: https://www.minimaxi.com/document/guides/Finetune/example?id=657c2bce24432923d556b455

[22]

模型精调: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/6lomkz7hw

[23]

模型定制: https://help.aliyun.com/zh/dashscope/developer-reference/quick-start-17?spm=a2c4g.11186623.0.i16

[24]

向量模型Embedding-2: https://open.bigmodel.cn/dev/api#text_embedding

[25]

向量模型Baichuan-Text-Embedding: https://platform.baichuan-ai.com/docs/text-Embedding

[26]

向量模型embo-01: https://www.minimaxi.com/document/price?id=6433f32294878d408fc8293e

[27]

向量模型Embedding-V1: https://cloud.baidu.com/doc/WENXINWORKSHOP/s/alj562vvu

[28]

通用文本向量模型: https://help.aliyun.com/zh/dashscope/developer-reference/text-embedding-quick-start?spm=a2c4g.11186623.0.0.79c1696bpdIAHh

[29]

产品介绍: https://www.baichuan-ai.com/home

[30]

千帆大模型平台: https://cloud.baidu.com/product/wenxinworkshop.html?track=1031b

[31]

模型服务灵积DashScope: https://dashscope.aliyun.com/

[32]

火山方舟: https://www.volcengine.com/product/ark

[33]

吐槽下腾讯混元大模型的 API,不敢相信这是腾讯的水平: https://www.v2ex.com/t/975832


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存